"""
@Time : 2021/9/16 13:50 
@Author : 常雷
@File : t_27完数小算法.py 
@Software: PyCharm
"""
'''
python出一个数如果恰好等于它的因子之和，
这个数就称为完数.
例如: 
    6 = 1+2+3
要求:
    编程找出1000以内的所有完数
'''
# 初步
n = 8
num = 0
for i in range(1, n):
    if n % i == 0:
       num += i
if n == num:
    print(n, "是一个完数")

# 完成
for n in range(1, 1001):
    num = 0
    for i in range(1, int(abs(n))):
        if n % i == 0:
            num += i
    if n == num:
        print(n, "是一个完数")